Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] - Cambiare frase all'interno della label
Forum - C# / VB.NET - [VB.NET] - Cambiare frase all'interno della label

Avatar
Cobra (Normal User)
Rookie


Messaggi: 29
Iscritto: 04/11/2011

Segnala al moderatore
Postato alle 15:54
Giovedì, 28/03/2013
Salve a tutti ragazzi,
ho eseguito lo stream da un file di testo ed alla linea 3 ho questa frase: "Nom. Cogn. Via", lo stream di tale linea viene riportato su una label, ma, ho due domande da porvi:

- è possibile, una volta effettuato lo stream, trasformare, per esempio, il termine "Nom." con "Nome", "Cogn." con "Cognome" e così via?
- è possibile, data sempre la medesima riga, fare in modo che, a fine di ogni termine, il successivo vada a capo? Per esempio, da quella stringa che ho postato sopra ("Nom. Cogn. Via"), ottenere:

"Nome
Cognome
Via"

vi posto il mio codice anche se sono consapevole che il procedimento non è corretto.

Codice sorgente - presumibilmente VB.NET

  1. Dim file As New StreamReader("miotesto.txt")
  2.         Dim linea(500) As String
  3.         Dim i As Integer
  4.         a = 0
  5.         While Not file.EndOfStream
  6.             linea(i) = file.ReadLine()
  7.             a = a + 1
  8.         End While
  9.         file.Close()
  10. label1.text=linea(3)
  11.   If Label1.Text.Contains("Nom.") Then
  12. label1.text="Nome"
  13.         End If



Sperando di ricevere un aiuto da parte vostra, vi ringrazio in anticipo e vi auguro buona pasqua :)

Ultima modifica effettuata da Cobra il 30/03/2013 alle 14:05
PM Quote
Avatar
tuttodiMC (Normal User)
Expert


Messaggi: 327
Iscritto: 29/10/2012

Segnala al moderatore
Postato alle 14:52
Sabato, 30/03/2013
Penso che per andare a capo tu debba mettere il classico \n però dovresti prima fare lo split dela riga e quindi separare le singole parole, poi mandare a capo.

PM Quote
Avatar
Cobra (Normal User)
Rookie


Messaggi: 29
Iscritto: 04/11/2011

Segnala al moderatore
Postato alle 15:17
Sabato, 30/03/2013
Ho provato questo, ma restituisce in label solo l'ultima parte della riga, ovvero "Via" :(

Codice sorgente - presumibilmente VB.NET

  1. Dim file As New StreamReader("miotesto.txt")
  2.             Dim linea(500) As String
  3.             Dim i As Integer
  4.             a = 0
  5.             While Not file.EndOfStream
  6.                 linea(i) = file.ReadLine()
  7.                 a = a + 1
  8.             End While
  9.             file.Close()
  10.     Label1.text=linea(3)
  11. Dim v As String = Label1.text
  12.             Dim var As String() = v.Split("."c)
  13.             For i As Integer = 0 To var.GetUpperBound(0) - 1
  14.                 Label1.Text = var(i)
  15.             Next


PM Quote
Avatar
keyblade95 (Normal User)
Newbie


Messaggi: 2
Iscritto: 28/03/2013

Segnala al moderatore
Postato alle 11:13
Domenica, 31/03/2013
Con il ciclo for, devi concatenare le stringhe splittate, non assegnarle (altrimenti una stringa verrà sostituita dalla successiva):
Codice sorgente - presumibilmente VB.NET

  1. Dim v As String = Label1.text
  2. Dim var As String() = v.Split("."c)
  3. For i As Integer = 0 To var.GetUpperBound(0) - 1
  4.     Label1.Text &= var(i)         'oppure se vuoi andare a capo: Label1.Text &= var(i) & vbCrLf
  5. Next



Per sostituire i nomi, usa il Metodo Replace di String:
Codice sorgente - presumibilmente Plain Text

  1. Label1.Text = Label1.Text.Replace("Cogn." , "Cognome")


PM Quote
Avatar
Cobra (Normal User)
Rookie


Messaggi: 29
Iscritto: 04/11/2011

Segnala al moderatore
Postato alle 9:57
Martedì, 02/04/2013
Ok perfetto, grazie mille!!! :)

PM Quote